class Person4:
    count = 0  # 类属性，所有实例共享
    name = "Person"  # 类属性

    def __init__(self):
        # 可以在这里初始化实例属性
        self.instance_attr = "实例属性值"


# 测试代码
p1 = Person4()
p2 = Person4()

print("初始状态:")
print(f"p1.name: {p1.name}")  # 访问类属性
print(f"p2.name: {p2.name}")  # 访问类属性
print(f"p1.__dict__: {p1.__dict__}")  # 查看实例的属性字典
print(f"Person4.__dict__: {Person4.__dict__}")  # 查看类的属性字典

print("\n修改类属性:")
Person4.name = "雇员"
print(f"p1.name: {p1.name}")  # 所有实例都受影响
print(f"p2.name: {p2.name}")

print("\n为p1创建实例属性:")
p1.name = "员工"  # 这会创建实例属性
print(f"p1.name: {p1.name}")  # 访问实例属性
print(f"p2.name: {p2.name}")  # 仍然访问类属性
print(f"p1.__dict__: {p1.__dict__}")  # 现在有了name实例属性

print("\n删除p1的实例属性:")
del p1.name  # 删除实例属性
print(f"p1.name: {p1.name}")  # 重新访问类属性